package kuonjisai;

public class J24_CompareObject {

	// 객체 비교하기
	// "내 차 색깔과 당신 차 색깔이 똑같다"
	// "내 차와 당신 차가 똑같다" ( 상태, 색, 종류 ) 
	// 클래스의 객체는 실제 데이터가 저장된 주소를
	// 가지고 있기 때문에 단순비교 ==로는
	// 객체가 서로 같은지 알 수 없음
	// 자바에서는 기본적으로 객체를 비교할때에는
	// equals, hashCode 메서드를 이용함
	// 또한, 유틸리티 클래스인 Comparable 
	// Comparator 등을 이용하기도 함
	
	// 참고로, String 객체를 비교할때에는
	// equals 메서드를 이용해서 비교해야 함
	
	
	public static void main(String[] args) {
	
		CarVO mycar = new CarVO( "새것", "검정색", "티코"  );
		CarVO yourcar = new CarVO( "새것", "검정색", "티코" );
		System.out.println( mycar );
		System.out.println( yourcar );
		
		if ( mycar == yourcar ) {
			System.out.println( "니껀내꺼 내껀니꺼" );
		}
		else {
			System.out.println( "우리서로.. 같지 않은거 같아.");
		}
		
		/* ----------------------------------------------------------- */
	
		if ( mycar.color == yourcar.color ) {
			System.out.println( "니껀내꺼 내껀니꺼" );
		}
		else {
			System.out.println( "우리서로.. 같지 않은거 같아.");
		}
		
		/* -----------------------------------------------------------------------*/
		
		String char1 = "가";
		String char2 = "가";
		if ( char1 == char2 ) {
			System.out.println( "니껀내꺼 내껀니꺼" );
		}
		else {
			System.out.println( "우리서로.. 같지 않은거 같아.");
		}
		
		/* -----------------------------------------------------------------------*/
		
		String char3 = "나";
		String char4 = new String("나");
		if ( char3 == char4 ) {
			System.out.println( "char3 니껀내꺼 char4 내껀니꺼" );
		}
		else {
			System.out.println( "char3 char4 우리서로.. 같지 않은거 같아.");
		}
		
		if ( char3.equals( char4 ) ) {
			System.out.println( "char3 char4 이콜 니껀내꺼 내껀니꺼" );
		}
		else {
			System.out.println( "char3 char4 이콜 우리서로.. 같지 않은거 같아.");
		}
		
		/* ------------------------------------ */
		String char5 = new String("다");
		String char6 = new String("다");
		
		if ( char5 == char6 ) {
			System.out.println( "char5 : 니껀내꺼 char 6 : 내껀니꺼" );
		}
		
		if ( char5.equals(char6) ) {
			System.out.println( "이콜스 : char5 : 니껀내꺼 char 6 :내껀니꺼" );
		}
		
		
	} // main

} // class


 class CarVO {
	 public String status;	 
	 public String color;	 
	 public String type;	 
	 
	 public CarVO() { }
	 public CarVO( String status, String color, String type) {
		 this.status = status;
		 this.color = color;
		 this.type = type;
		 
	 } // CarVO
	
 } // Car
	